Пульт.Онлайн /

Сервисы

Архитектура Пульт.Онлайн построена по микросервисной модели:

  • Сервисы — это исполняемые файлы в папке services/<имя_сервиса> в директории установки.
  • Каждый сервис выполняет отдельную функцию (например, опрос Modbus-узлов, хранение трендов, обработка тревог).
  • Сервисы взаимодействуют между собой через UNIX-сокеты или TCP/Websocket по протоколу JSONRPC2.0.

Ключевые сервисы

  1. Сервер (server):

    • Веб-интерфейс для операторов и редактора проектов.
    • Хранение исторических данных.
    • Обработка аварий и коммуникация со шлюзами.
    • Опрос полевых устройств в локальной сети (Modbus, OPC UA и др.).
  2. Ядро (core):

    • Корневой драйвер переменных, работающий с драйверами полевых устройств и драйверами виртуальных переменных.
    • С данным сервисом работают все сервисы, которым требуется подписка на переменные
  3. Драйверы полевых устройств:

    • Сервисы: drv_mbtcp, drv_mbrtu, drv_mbrot, drv_bacnet, drv_gpsd, drv_mqtt, drv_snmp, drv_http, drv_cmd, drv_cam, drv_opcua
    • Обеспечивают связь с полевыми устройствами по разным протоколам
  4. Драйверы виртуальных переменных:

    • Сервисы: drv_virt, drv_alarm
    • Драйверы работают с виртуальными и тревожными переменными

Общая информация

  • Все файлы сервиса хранятся в его рабочей папке: services/<имя_сервиса>.
  • Все сервисы автоматически запускаются и управляются сервисом supervisor.
  • Ручной запуск/остановка выполняется скриптами ./start, ./stop, ./restart из папки установки.
  • Конфигурация каждого сервиса хранится в файле config.cfg.
  • Коды и описания ошибок, генерируемых сервисом, хранятся в файле errors.json.
  • Сервисы, которые взаимодействуют с другими сервисами, имеют файл services.json с настройками подключения.
  • Для внутреннего обмена данными используются UNIX-сокеты.
  • Внешний API доступен через WebSocket.
  Email
  SMS
   fdb_list
   fdb_load
   fdb_move
   fdb_paths
   node_list
   subscribe
   var_get
   var_list
   var_set